/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is Forte for Java, Community Edition. The Initial
* Developer of the Original Code is Sun Microsystems, Inc. Portions
* Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.vcs.cmdline.commands;
import org.netbeans.modules.vcs.cmdline.*;
import org.netbeans.modules.vcs.util.*;
import org.netbeans.modules.vcs.cmdline.exec.*;
import java.util.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.text.*;
import org.openide.util.HelpCtx;
/**
*
* @author Martin Entlicher
* @version
*/
public class CvsDiffFrame extends javax.swing.JFrame {
private Debug E=new Debug("CvsDiffFrame",true); // NOI18N
private Debug D=E;
private CvsDiff diff = null;
static final long serialVersionUID =3683458237532937983L;
/** Creates new form CvsDiffFrame */
public CvsDiffFrame(CvsDiff diff) {
this.diff = diff;
initComponents ();
setTitle(org.openide.util.NbBundle.getBundle(CvsDiffFrame.class).getString("CvsDiffFrame.title"));
//SwingUtilities.invokeLater(new Runnable () {
//public void run () {
//initScrollBars();
//pack ();
//}
//});
initScrollBars();
pack ();
HelpCtx.setHelpIDString (getRootPane (), CvsDiffFrame.class.getName ());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the FormEditor.
*/
private void initComponents () {//GEN-BEGIN:initComponents
commandPanel = new javax.swing.JPanel ();
editorPanel = new javax.swing.JPanel ();
jPanel1 = new javax.swing.JPanel ();
editorPanel1 = new javax.swing.JPanel ();
jScrollBar1 = new javax.swing.JScrollBar ();
fileLabel1 = new javax.swing.JLabel ();
jPanel2 = new javax.swing.JPanel ();
editorPanel2 = new javax.swing.JPanel ();
jScrollBar2 = new javax.swing.JScrollBar ();
fileLabel2 = new javax.swing.JLabel ();
jPanel3 = new javax.swing.JPanel ();
jScrollBar3 = new javax.swing.JScrollBar ();
fillSpaceLabel = new javax.swing.JLabel ();
labelPanel = new javax.swing.JPanel ();
fileLabelSeparator = new javax.swing.JSeparator ();
buttonPanel = new javax.swing.JPanel ();
closeButton = new javax.swing.JButton ();
getContentPane ().setLayout (new java.awt.GridBagLayout ());
java.awt.GridBagConstraints gridBagConstraints1;
addWindowListener (new java.awt.event.WindowAdapter () {
public void windowClosing (java.awt.event.WindowEvent evt) {
exitForm (evt);
}
}
);
gridBagConstraints1 = new java.awt.GridBagConstraints ();
gridBagConstraints1.gridy = 0;
getContentPane ().add (commandPanel, gridBagConstraints1);
editorPanel.setLayout (new java.awt.GridBagLayout ());
java.awt.GridBagConstraints gridBagConstraints2;
editorPanel.setPreferredSize (new java.awt.Dimension(700, 600));
jPanel1.setLayout (new java.awt.GridBagLayout ());
java.awt.GridBagConstraints gridBagConstraints3;
editorPanel1.setLayout (new javax.swing.BoxLayout (editorPanel1, 0));
editorPanel1.setBorder (new javax.swing.border.BevelBorder(1));
gridBagConstraints3 = new java.awt.GridBagConstraints ();
gridBagConstraints3.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints3.weightx = 1.0;
gridBagConstraints3.weighty = 1.0;
jPanel1.add (editorPanel1, gridBagConstraints3);
jScrollBar1.setOrientation (javax.swing.SwingConstants.HORIZONTAL);
jScrollBar1.addAdjustmentListener (new java.awt.event.AdjustmentListener () {
public void adjustmentValueChanged (java.awt.event.AdjustmentEvent evt) {
jScrollBar1AdjustmentValueChanged (evt);
}
}
);
gridBagConstraints3 = new java.awt.GridBagConstraints ();
gridBagConstraints3.gridy = 1;
gridBagConstraints3.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints3.weightx = 1.0;
jPanel1.add (jScrollBar1, gridBagConstraints3);
fileLabel1.setText (org.openide.util.NbBundle.getBundle(CvsDiffFrame.class).getString("CvsDiffFrame.fileLabel1.text"));
gridBagConstraints3 = new java.awt.GridBagConstraints ();
gridBagConstraints3.gridy = 2;
gridBagConstraints3.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints3.insets = new java.awt.Insets (2, 0, 0, 0);
gridBagConstraints3.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints3.weightx = 1.0;
jPanel1.add (fileLabel1, gridBagConstraints3);
gridBagConstraints2 = new java.awt.GridBagConstraints ();
gridBagConstraints2.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints2.insets = new java.awt.Insets (0, 0, 0, 1);
gridBagConstraints2.weightx = 1.0;
gridBagConstraints2.weighty = 1.0;
editorPanel.add (jPanel1, gridBagConstraints2);
jPanel2.setLayout (new java.awt.GridBagLayout ());
java.awt.GridBagConstraints gridBagConstraints4;
editorPanel2.setLayout (new javax.swing.BoxLayout (editorPanel2, 0));
editorPanel2.setBorder (new javax.swing.border.BevelBorder(1));
gridBagConstraints4 = new java.awt.GridBagConstraints ();
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints4.weightx = 1.0;
gridBagConstraints4.weighty = 1.0;
jPanel2.add (editorPanel2, gridBagConstraints4);
jScrollBar2.setOrientation (javax.swing.SwingConstants.HORIZONTAL);
gridBagConstraints4 = new java.awt.GridBagConstraints ();
gridBagConstraints4.gridy = 1;
gridBagConstraints4.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints4.weightx = 1.0;
jPanel2.add (jScrollBar2, gridBagConstraints4);
fileLabel2.setText (org.openide.util.NbBundle.getBundle(CvsDiffFrame.class).getString("CvsDiffFrame.fileLabel2.text"));
gridBagConstraints4 = new java.awt.GridBagConstraints ();
gridBagConstraints4.gridy = 2;
gridBagConstraints4.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints4.insets = new java.awt.Insets (2, 0, 0, 0);
gridBagConstraints4.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints4.weightx = 1.0;
jPanel2.add (fileLabel2, gridBagConstraints4);
gridBagConstraints2 = new java.awt.GridBagConstraints ();
gridBagConstraints2.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints2.insets = new java.awt.Insets (0, 1, 0, 0);
gridBagConstraints2.weightx = 1.0;
gridBagConstraints2.weighty = 1.0;
editorPanel.add (jPanel2, gridBagConstraints2);
jPanel3.setLayout (new java.awt.GridBagLayout ());
java.awt.GridBagConstraints gridBagConstraints5;
gridBagConstraints5 = new java.awt.GridBagConstraints ();
gridBagConstraints5.fill = java.awt.GridBagConstraints.VERTICAL;
gridBagConstraints5.weighty = 1.0;
jPanel3.add (jScrollBar3, gridBagConstraints5);
fillSpaceLabel.setText (" ");
gridBagConstraints5 = new java.awt.GridBagConstraints ();
gridBagConstraints5.gridy = 1;
jPanel3.add (fillSpaceLabel, gridBagConstraints5);
gridBagConstraints2 = new java.awt.GridBagConstraints ();
gridBagConstraints2.fill = java.awt.GridBagConstraints.VERTICAL;
gridBagConstraints2.weighty = 1.0;
editorPanel.add (jPanel3, gridBagConstraints2);
gridBagConstraints1 = new java.awt.GridBagConstraints ();
gridBagConstraints1.gridy = 1;
gridBagConstraints1.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints1.insets = new java.awt.Insets (2, 2, 0, 2);
gridBagConstraints1.weightx = 1.0;
gridBagConstraints1.weighty = 1.0;
getContentPane ().add (editorPanel, gridBagConstraints1);
labelPanel.setLayout (new java.awt.GridBagLayout ());
java.awt.GridBagConstraints gridBagConstraints6;
gridBagConstraints6 = new java.awt.GridBagConstraints ();
gridBagConstraints6.gridy = 1;
gridBagConstraints6.gridwidth = 2;
gridBagConstraints6.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints6.weightx = 1.0;
labelPanel.add (fileLabelSeparator, gridBagConstraints6);
gridBagConstraints1 = new java.awt.GridBagConstraints ();
gridBagConstraints1.gridy = 2;
gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints1.insets = new java.awt.Insets (0, 2, 0, 2);
gridBagConstraints1.weightx = 1.0;
getContentPane ().add (labelPanel, gridBagConstraints1);
buttonPanel.setLayout (new java.awt.GridBagLayout ());
java.awt.GridBagConstraints gridBagConstraints7;
closeButton.setText (org.openide.util.NbBundle.getBundle(CvsDiffFrame.class).getString("CvsDiffFrame.closeButton.text"));
closeButton.addActionListener (new java.awt.event.ActionListener () {
public void actionPerformed (java.awt.event.ActionEvent evt) {
closeButtonActionPerformed (evt);
}
}
);
gridBagConstraints7 = new java.awt.GridBagConstraints ();
gridBagConstraints7.insets = new java.awt.Insets (8, 8, 8, 8);
gridBagConstraints7.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints7.weightx = 1.0;
buttonPanel.add (closeButton, gridBagConstraints7);
gridBagConstraints1 = new java.awt.GridBagConstraints ();
gridBagConstraints1.gridy = 3;
gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints1.weightx = 1.0;
getContentPane ().add (buttonPanel, gridBagConstraints1);
}//GEN-END:initComponents
private void jScrollBar1AdjustmentValueChanged (java.awt.event.AdjustmentEvent evt) {//GEN-FIRST:event_jScrollBar1AdjustmentValueChanged
// Add your handling code here:
}//GEN-LAST:event_jScrollBar1AdjustmentValueChanged
private void closeButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeButtonActionPerformed
// Add your handling code here:
exitForm(null);
}//GEN-LAST:event_closeButtonActionPerformed
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
org.netbeans.editor.Settings.setValue(null, org.netbeans.editor.Settings.LINE_NUMBER_VISIBLE, lineNumbersVisible);
diff.close();
dispose ();
}//GEN-LAST:event_exitForm
private void initScrollBars() {
D.deb("initScrollBars():"); // NOI18N
lineNumbersVisible = (Boolean) org.netbeans.editor.Settings.getValue(null, org.netbeans.editor.Settings.LINE_NUMBER_VISIBLE);
jViewport1 = new JViewport();
jViewport1.setView(jEditorPane1);
jViewport2 = new JViewport();
jViewport2.setView(jEditorPane2);
//JScrollPane jScrollPane1 = new JScrollPane(jEditorPane2);
//jScrollPane1.setVerticalScrollBar(jScrollBar3);
//jScrollPane1.setHorizontalScrollBar(jScrollBar1);
//jScrollPane1.setViewport(jViewport2);
jScrollBar3.getModel().addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent e) {
java.awt.Point p1 = jViewport1.getViewPosition();
java.awt.Point p2 = jViewport2.getViewPosition();
int value = jScrollBar3.getModel().getValue();
p1.y = value;
p2.y = value;
jViewport1.setViewPosition(p1);
jViewport1.repaint(jViewport1.getViewRect());
jViewport2.setViewPosition(p2);
jViewport2.repaint(jViewport2.getViewRect());
}
});
jScrollBar1.getModel().addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent e) {
java.awt.Point p1 = jViewport1.getViewPosition();
java.awt.Point p2 = jViewport2.getViewPosition();
int value = jScrollBar1.getModel().getValue();
jScrollBar2.getModel().setValue(value);
p1.x = value;
p2.x = value;
jViewport1.setViewPosition(p1);
jViewport1.repaint(jViewport1.getViewRect());
jViewport2.setViewPosition(p2);
jViewport2.repaint(jViewport2.getViewRect());
}
});
jScrollBar2.getModel().addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent e) {
java.awt.Point p1 = jViewport1.getViewPosition();
java.awt.Point p2 = jViewport2.getViewPosition();
int value = jScrollBar2.getModel().getValue();
jScrollBar1.getModel().setValue(value);
p1.x = value;
p2.x = value;
jViewport1.setViewPosition(p1);
jViewport1.repaint(jViewport1.getViewRect());
jViewport2.setViewPosition(p2);
jViewport2.repaint(jViewport2.getViewRect());
}
});
editorPanel1.add(jViewport1);
editorPanel2.add(jViewport2);
jViewport1.addComponentListener(new java.awt.event.ComponentListener () {
public void componentHidden(java.awt.event.ComponentEvent evt) {}
public void componentMoved(java.awt.event.ComponentEvent evt) {}
public void componentResized(java.awt.event.ComponentEvent evt) {
setScrollBars();
}
public void componentShown(java.awt.event.ComponentEvent evt) {
setScrollBars();
}
});
jViewport2.addComponentListener(new java.awt.event.ComponentListener () {
public void componentHidden(java.awt.event.ComponentEvent evt) {}
public void componentMoved(java.awt.event.ComponentEvent evt) {}
public void componentResized(java.awt.event.ComponentEvent evt) {
setScrollBars();
}
public void componentShown(java.awt.event.ComponentEvent evt) {
setScrollBars();
}
});
}
private void setScrollBars() {
//D.deb("setScrollBars() called."); // NOI18N
int totHeight = jEditorPane1.getSize().height;
int value = jEditorPane2.getSize().height;
if (value > totHeight) totHeight = value;
int totWidth = jEditorPane1.getSize().width;
value = jEditorPane2.getSize().width;
if (value > totWidth) totWidth = value;
int viewHeight = jViewport1.getExtentSize().height;
int viewWidth = jViewport1.getExtentSize().width;
//D.deb("totHeight = "+totHeight+", totWidth = "+totWidth); // NOI18N
//D.deb("viewHeight = "+viewHeight+", viewWidth = "+viewWidth); // NOI18N
jScrollBar1.setValues(0, viewWidth, 0, totWidth);
jScrollBar1.setBlockIncrement(viewWidth);
jScrollBar2.setValues(0, viewWidth, 0, totWidth);
jScrollBar2.setBlockIncrement(viewWidth);
jScrollBar3.setValues(0, viewHeight, 0, totHeight);
jScrollBar3.setBlockIncrement(viewHeight);
boolean visibleScroll = jScrollBar1.isVisible();
//D.deb("jScrollBar1.isVisible() = "+visibleScroll); // NOI18N
if (visibleScroll != viewWidth < totWidth && editorPanel.isShowing()) {
//D.deb("jScrollBar1 setting visibility = "+!visibleScroll); // NOI18N
jScrollBar1.setVisible(!visibleScroll);
jScrollBar2.setVisible(!visibleScroll);
validate();
//editorPanel.repaint();
//jScrollBar1.repaint();
//jScrollBar2.repaint();
}
visibleScroll = jScrollBar3.isVisible();
//D.deb("jScrollBar3.isVisible() = "+visibleScroll); // NOI18N
if (visibleScroll != viewHeight < totHeight && editorPanel.isShowing()) {
//D.deb("jScrollBar3 setting visibility = "+!visibleScroll); // NOI18N
jScrollBar3.setVisible(!visibleScroll);
validate();
//editorPanel.repaint();
//jScrollBar3.repaint();
}
}
private String strCharacters(char c, int num) {
StringBuffer s = new StringBuffer();
while(num-- > 0) {
s.append(c);
}
return s.toString();
}
private void customizeEditor(JEditorPane editor) {
EditorKit kit = editor.getEditorKit();
org.netbeans.editor.Settings.setValue(null, org.netbeans.editor.Settings.LINE_NUMBER_VISIBLE, Boolean.FALSE);
StyledDocument doc;
Document document = editor.getDocument();
try {
doc = (StyledDocument) editor.getDocument();
} catch(ClassCastException e) {
doc = new DefaultStyledDocument();
try {
doc.insertString(0, document.getText(0, document.getLength()), null);
} catch (BadLocationException ble) {
// leaving the document empty
}
editor.setDocument(doc);
}
int lastOffset = doc.getEndPosition().getOffset();
int numLines = org.openide.text.NbDocument.findLineNumber(doc, lastOffset);
int numLength = Integer.toString(numLines).length();
SimpleAttributeSet a = new SimpleAttributeSet();
a.addAttribute(StyleConstants.CharacterConstants.Background, java.awt.Color.gray);
a.addAttribute(StyleConstants.CharacterConstants.Foreground, java.awt.Color.black);
for (int line = 0; line <= numLines; line++) {
int offset = org.openide.text.NbDocument.findLineOffset(doc, line);
String lineStr = Integer.toString(line+1);
if (lineStr.length() < numLength) lineStr = strCharacters(' ', numLength - lineStr.length()) + lineStr;
lineStr += " "; // NOI18N
try {
doc.insertString(offset, lineStr, null);
} catch (BadLocationException e) {
E.deb("Internal ERROR: "+e.getMessage()); // NOI18N
}
}
//initScrollBars();
setScrollBars();
}
public void setFile1(URL url) throws IOException {
D.deb("setFile("+url+")"); // NOI18N
EditorKit kit = jEditorPane1.getEditorKit();
D.deb("I have kit = "+kit); // NOI18N
if (kit == null) throw new IOException("Missing Editor Kit"); // NOI18N
Document doc = kit.createDefaultDocument();
try {
kit.read(url.openStream(), doc, 0);
} catch (javax.swing.text.BadLocationException e) {
throw new IOException("Can not locate the beginning of the document."); // NOI18N
}
kit.install(jEditorPane1);
jEditorPane1.setDocument(doc);
//jEditorPane1.setPage(url);
jEditorPane1.setEditable(false);
customizeEditor(jEditorPane1);
}
public void setFile2(URL url) throws IOException {
D.deb("setFile("+url+")"); // NOI18N
EditorKit kit = jEditorPane2.getEditorKit();
D.deb("I have kit = "+kit); // NOI18N
if (kit == null) throw new IOException("Missing Editor Kit"); // NOI18N
Document doc = kit.createDefaultDocument();
try {
kit.read(url.openStream(), doc, 0);
} catch (javax.swing.text.BadLocationException e) {
throw new IOException("Can not locate the beginning of the document."); // NOI18N
}
kit.install(jEditorPane2);
jEditorPane2.setDocument(doc);
//jEditorPane2.setPage(url);
jEditorPane2.setEditable(false);
customizeEditor(jEditorPane2);
}
public void setFile1Title(String title) {
fileLabel1.setText(title);
}
public void setFile2Title(String title) {
fileLabel2.setText(title);
}
public void setMimeType1(String mime) {
jEditorPane1.setContentType(mime);
EditorKit kit = JEditorPane.createEditorKitForContentType(mime);
D.deb("MIME = "+mime+": I have kit = "+kit); // NOI18N
if (kit != null) jEditorPane1.setEditorKit(kit);
//Document doc = jEditorPane1.getDocument();
//if (!(doc instanceof StyledDocument)) jEditorPane1.setDocument(new DefaultStyledDocument());
}
public void setMimeType2(String mime) {
jEditorPane2.setContentType(mime);
EditorKit kit = JEditorPane.createEditorKitForContentType(mime);
D.deb("MIME = "+mime+": I have kit = "+kit); // NOI18N
if (kit != null) jEditorPane2.setEditorKit(kit);
//Document doc = jEditorPane2.getDocument();
//if (!(doc instanceof StyledDocument)) jEditorPane2.setDocument(new DefaultStyledDocument());
}
public void setDocument1(Document doc) {
D.deb("setDocument1("+doc+")"); // NOI18N
if (doc != null) {
jEditorPane1.setDocument(doc);
}
}
public void setDocument2(Document doc) {
D.deb("setDocument2("+doc+")"); // NOI18N
if (doc != null) {
jEditorPane2.setDocument(doc);
}
}
private void setHighlight(StyledDocument doc, int line1, int line2, java.awt.Color color) {
D.deb("setHighlight(): <"+line1+", "+line2+">, color = "+color); // NOI18N
//Style s = doc.addStyle("diff-style("+color+"):1500", null); // NOI18N
// SimpleAttributeSet attrSet = new SimpleAttributeSet();
// attrSet.addAttribute(StyleConstants.ColorConstants.Background, java.awt.Color.green);
//s.addAttribute(StyleConstants.ColorConstants.Background, color);
for(int line = line1-1; line < line2; line++) {
if (line < 0) continue;
int offset = org.openide.text.NbDocument.findLineOffset(doc, line);
D.deb("setHighlight(): I got offset = "+offset); // NOI18N
if (offset >= 0) {
Style s = doc.getLogicalStyle(offset);
if (s == null) {
D.deb("setHighlight(): logical style is NULL"); // NOI18N
s = doc.addStyle("diff-style("+color+"):1500", null); // NOI18N
}
s.addAttribute(StyleConstants.ColorConstants.Background, color);
doc.setLogicalStyle(offset, s);
//doc.setParagraphAttributes(offset, 1, s, false);
}
}
//doc.setParagraphAttributes(offset, 100, s, true);
}
private void unhighlight(StyledDocument doc) {
int endOffset = doc.getEndPosition().getOffset();
int endLine = org.openide.text.NbDocument.findLineNumber(doc, endOffset);
Style s = doc.addStyle("diff-style(white):1500", null); // NOI18N
s.addAttribute(StyleConstants.ColorConstants.Background, java.awt.Color.white);
for(int line = 0; line <= endLine; line++) {
int offset = org.openide.text.NbDocument.findLineOffset(doc, line);
doc.setLogicalStyle(offset, s);
}
}
public void unhighlightAll() {
unhighlight((StyledDocument) jEditorPane1.getDocument());
unhighlight((StyledDocument) jEditorPane2.getDocument());
}
public void highlightRegion1(int line1, int line2, java.awt.Color color) {
D.deb("Highlight region 1"); // NOI18N
StyledDocument doc = (StyledDocument) jEditorPane1.getDocument();
setHighlight(doc, line1, line2, color);
}
public void highlightRegion2(int line1, int line2, java.awt.Color color) {
D.deb("Highlight region 2"); // NOI18N
StyledDocument doc = (StyledDocument) jEditorPane2.getDocument();
setHighlight(doc, line1, line2, color);
}
private void addEmptyLines(StyledDocument doc, int line, int numLines) {
int lastOffset = doc.getEndPosition().getOffset();
int totLines = org.openide.text.NbDocument.findLineNumber(doc, lastOffset);
if (line > totLines) line = totLines;
int offset = org.openide.text.NbDocument.findLineOffset(doc, line);
//int endOffset = doc.getEndPosition().getOffset();
//if (offset > endOffset) offset = endOffset;
String insStr = strCharacters('\n', numLines);
try {
doc.insertString(offset, insStr, null);
} catch (BadLocationException e) {
E.deb("Internal ERROR: "+e.getMessage()); // NOI18N
}
//initScrollBars();
}
public void addEmptyLines1(int line, int numLines) {
StyledDocument doc = (StyledDocument) jEditorPane1.getDocument();
D.deb("addEmptyLines1: line = "+line+", numLines = "+numLines); // NOI18N
addEmptyLines(doc, line, numLines);
}
public void addEmptyLines2(int line, int numLines) {
StyledDocument doc = (StyledDocument) jEditorPane2.getDocument();
D.deb("addEmptyLines2: line = "+line+", numLines = "+numLines); // NOI18N
addEmptyLines(doc, line, numLines);
}
private javax.swing.JViewport jViewport1;
private javax.swing.JViewport jViewport2;
private javax.swing.JEditorPane jEditorPane1 = new JEditorPane();
private javax.swing.JEditorPane jEditorPane2 = new JEditorPane();
private Boolean lineNumbersVisible = Boolean.FALSE;
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel commandPanel;
private javax.swing.JPanel editorPanel;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel editorPanel1;
private javax.swing.JScrollBar jScrollBar1;
private javax.swing.JLabel fileLabel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel editorPanel2;
private javax.swing.JScrollBar jScrollBar2;
private javax.swing.JLabel fileLabel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollBar jScrollBar3;
private javax.swing.JLabel fillSpaceLabel;
private javax.swing.JPanel labelPanel;
private javax.swing.JSeparator fileLabelSeparator;
private javax.swing.JPanel buttonPanel;
private javax.swing.JButton closeButton;
// End of variables declaration//GEN-END:variables
}
/*
* Log
* 17 Gandalf-post-FCS1.15.2.0 3/23/00 Martin Entlicher NOI18N
* 16 Gandalf 1.15 1/15/00 Ian Formanek NOI18N
* 15 Gandalf 1.14 1/11/00 Jesse Glick Context help.
* 14 Gandalf 1.13 1/6/00 Martin Entlicher
* 13 Gandalf 1.12 1/6/00 Martin Entlicher Insets between
* components changed
* 12 Gandalf 1.11 12/29/99 Martin Entlicher
* 11 Gandalf 1.10 11/27/99 Patrik Knakal
* 10 Gandalf 1.9 11/23/99 Martin Entlicher
* 9 Gandalf 1.8 11/9/99 Martin Entlicher
* 8 Gandalf 1.7 11/9/99 Martin Entlicher
* 7 Gandalf 1.6 10/27/99 Martin Entlicher
* 6 Gandalf 1.5 10/26/99 Martin Entlicher
* 5 Gandalf 1.4 10/26/99 Martin Entlicher
* 4 Gandalf 1.3 10/25/99 Pavel Buzek
* 3 Gandalf 1.2 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun
* Microsystems Copyright in File Comment
* 2 Gandalf 1.1 10/13/99 Martin Entlicher
* 1 Gandalf 1.0 10/7/99 Martin Entlicher initial revision
* $
*/